﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Loja.Banco;
using System.Windows.Forms;

namespace Loja.Controles.Dados
{
    class ItemCaixaControle
    {
        public LOJA banco { get; set; }

        public ItemCaixaControle(LOJA banco)
        {
            this.banco = banco;
        }

        public void Salvar(ItemCaixa item)
        {
            banco.AddToItemCaixa(item);
            banco.SaveChanges();
        }

        public void Atualizar(ItemCaixa item)
        {            
            banco.SaveChanges();
        }
        public Object BuscaItens(Int32 caixa_id)
        {

            Int32 qt = (from x in banco.vw_ExtratoCaixa
                             where x.Caixa_ID == caixa_id
                             select x).Count();

            if (qt > 0)
            {

                var itemCaixa = (from x in banco.vw_ExtratoCaixa
                                 where x.Caixa_ID == caixa_id
                                 select new
                                 {
                                     Codigo = x.ItemCaixa_ID,
                                     x.DataLancamento,
                                     x.Descricao,
                                     x.Operacao,
                                     x.Valor
                                 });

                return (Object)itemCaixa;
            }
            else
                return null;
            
            

        }

        public vw_Caixas BuscaItensCaixa(Int32 caixa_id)
        {
            vw_Caixas itemCaixa = new vw_Caixas();
            itemCaixa = (from x in banco.vw_Caixas
                             where x.Codigo == caixa_id
                             select x).First();

            return itemCaixa;
        }

        public ItemCaixa BuscaItemCaixa(Int32 itemCaixa_id)
        {
            Int32 qt = (from x in banco.ItemCaixa
                                   where x.ItemCaixa_ID == itemCaixa_id
                                   select x).Count();

            ItemCaixa itemCaixa = new ItemCaixa();

            MessageBox.Show(qt.ToString());

            if (qt > 0)
            {

                itemCaixa = (from x in banco.ItemCaixa
                             where x.ItemCaixa_ID == itemCaixa_id
                             select x).First();

                return itemCaixa;
            }
            else
            {
                itemCaixa.ItemCaixa_ID = 0;
                return itemCaixa;
            }
        }

        public vw_ExtratoCaixa BuscaExtratoResumo(Int32 caixa_id)
        {
            vw_ExtratoCaixa itemCaixa = new vw_ExtratoCaixa();
            Int32 qt = (from x in banco.vw_ExtratoCaixa
                        where x.Caixa_ID == caixa_id
                        select x).Count();           

            if (qt > 0)
            {
                itemCaixa = (from x in banco.vw_ExtratoCaixa
                             where x.Caixa_ID == caixa_id
                             select x).First();

                return itemCaixa;
            }
            else
            {
                itemCaixa.Caixa_ID = 0;

                return itemCaixa;
            }
        }
    }
}
